package gdscript.parser.recovery

import gdscript.psi.GdTypes.*

val END_STMT_SET = arrayOf(SEMICON, NEW_LINE)
val ARG_END = arrayOf(RRBR)
//val ARG_END = arrayOf(RRBR, *END_STMT_SET)

val LITERAL = arrayOf(TRUE, FALSE, STRING_NAME, NODE_PATH_LIT, STRING, NUMBER, NULL, NAN, INF, SELF, SUPER,
    IDENTIFIER, GET, SET, MATCH, SIGNAL, FUNC, CLASS_NAME, PASS, CLASS)
val PRIMARY = arrayOf(NODE_PATH_LEX, LSBR, LCBR, LRBR)

val TOP_LEVEL = arrayOf(FUNC, CONST, SIGNAL, VAR, ENUM, ANNOTATOR, IDENTIFIER, DEDENT, INDENT,
    REMOTE, REMOTESYNC, MASTER, PUPPET, STATIC, VARARG, CLASS_NAME, CLASS_NAME,
    MASTERSYNC, PUPPETSYNC, RRBR, RCBR, RSBR, EXTENDS, CLASS, PASS)

val STMT_NO_LINE = arrayOf(SET, GET, IF, PASS, CONTINUE, BREAK, BREAKPOINT, WHILE, FOR,
    MATCH, RETURN, AWAIT, ASSET, INDENT, DEDENT, NEGATE, ELIF,
    ELSE, UNDER, IDENTIFIER, *TOP_LEVEL, *LITERAL, *PRIMARY, COMMA)

val STMT = arrayOf(*STMT_NO_LINE, NEW_LINE, SEMICON)

val SET_GET = arrayOf(SET, GET, COMMA, *TOP_LEVEL, NEW_LINE)
